<?php

namespace YouBaoLian\Application\Info;

class ExtInfo extends Info
{
    /**
     * 验车情况
     * @var string $carCheckStatus
     */
    private $carCheckStatus = '';

    /**
     * 免验原因
     * @var string $noCheckReason
     */
    private $noCheckReason = '';

    /**
     * 免验其他原因
     * @var string $noCheckOtherReason
     */
    private $noCheckOtherReason = '';

    /**
     * 验车地点
     * @var string $carCheckAddress
     */
    private $carCheckAddress = '';

    /**
     * 验车时间
     * @var string $carCheckDate
     */
    private $carCheckDate = '';

    /**'
     * 验车记录
     * @var string $carCheckRecord
     */
    private $carCheckRecord = '';

    /**
     * 验车人
     * @var string $carChecker
     */
    private $carChecker = '';

    /**
     * 车况
     * @var string $carCondition
     */
    private $carCondition = '';

    /**
     * 高低价
     * @var string $lowPrice
     */
    private $lowPrice = '';

    /**
     * 是否推荐送修
     * @var bool $monopolyFlag
     */
    private $monopolyFlag = false;

    /**
     * 送修代码
     * @var string $repairCode
     */
    private $repairCode = '';

    /**
     * 送修名称
     * @var string $repairName
     */
    private $repairName = '';

    /**
     * 项目代码
     * @var string $projectCode
     */
    private $projectCode = '';

    /**
     * 车商编码/合作网点编码
     * @var string $saleCode
     */
    private $saleCode = '';

    /**
     * 通融标识
     * @var int $accommodationFlag
     */
    private $accommodationFlag = 0;

    /**
     * 通融原因
     * @var string $accommodationReason
     */
    private $accommodationReason = '';

    /**
     * 自主定价系数
     * @var string $selfPricingCoef
     */
    private $selfPricingCoef = '';

    /**
     * 自主核保系数
     * @var string $underwritingRate
     */
    private $underwritingRate = '';

    /**
     * 期望折扣
     * @var float $wantDis
     */
    private $wantDis = 0;

    /**
     * 贷款车标识
     * @var int $loanCarFlag
     */
    private $loanCarFlag = 0;

    /**
     * 贷款机构名称
     * @var string $lendOrg
     */
    private $lendOrg = '';

    public function getInfo(): array
    {
        $extInfo = [
            'carCheckStatus' => $this->carCheckStatus,
            'noCheckReason' => $this->noCheckReason,
            'noCheckOtherReason' =>$this->noCheckOtherReason,
            'carCheckAddress'=>$this->carCheckAddress,
            'carCheckDate'=>$this->carCheckDate,
            'carCheckRecord'=>$this->carCheckRecord,
            'carChecker' =>$this->carChecker,
            'carCondition'=>$this->carCondition,
            'lowPrice'=>$this->lowPrice,
            'monopolyFlag'=>$this->monopolyFlag,
            'repairCode'=>$this->repairCode,
            'repairName'=>$this->repairName,
            'projectCode'=>$this->projectCode,
            'saleCode'=>$this->saleCode,
            'accommodationFlag' =>$this->accommodationFlag,
            'accommodationReason'=>$this->accommodationReason,
            'selfPricingCoef'=>$this->selfPricingCoef,
            'underwritingRate'=>$this->underwritingRate,
            'wantDis' =>$this->wantDis,
            'loanCarFlag' =>$this->loanCarFlag,
            'lendOrg'=>$this->lendOrg
        ];

        return $this->empty($extInfo,['monopolyFlag','loanCarFlag']);
    }

    /**
     * 验车情况
     * @param string $carCheckStatus
     */
    public function setCarCheckStatus(string $carCheckStatus): void
    {
        $this->carCheckStatus = $carCheckStatus;
    }

    /**
     * 免验原因
     * @param string $noCheckReason
     */
    public function setNoCheckReason(string $noCheckReason): void
    {
        $this->noCheckReason = $noCheckReason;
    }

    /**
     * 免验其他原因
     * @param string $noCheckOtherReason
     */
    public function setNoCheckOtherReason(string $noCheckOtherReason): void
    {
        $this->noCheckOtherReason = $noCheckOtherReason;
    }

    /**
     * 验车地点
     * @param string $carCheckAddress
     */
    public function setCarCheckAddress(string $carCheckAddress): void
    {
        $this->carCheckAddress = $carCheckAddress;
    }

    /**
     * 验车时间
     * @param string $carCheckDate
     */
    public function setCarCheckDate(string $carCheckDate): void
    {
        $this->carCheckDate = $carCheckDate;
    }

    /**
     * 验车记录
     * @param string $carCheckRecord
     */
    public function setCarCheckRecord(string $carCheckRecord): void
    {
        $this->carCheckRecord = $carCheckRecord;
    }

    /**
     * 验车人
     * @param string $carChecker
     */
    public function setCarChecker(string $carChecker): void
    {
        $this->carChecker = $carChecker;
    }

    /**
     * 车况
     * @param string $carCondition
     */
    public function setCarCondition(string $carCondition): void
    {
        $this->carCondition = $carCondition;
    }

    /**
     * 高低价
     * @param string $lowPrice
     */
    public function setLowPrice(string $lowPrice): void
    {
        $this->lowPrice = $lowPrice;
    }

    /**
     * 是否推荐送修
     * @param bool $monopolyFlag
     */
    public function setMonopolyFlag(bool $monopolyFlag): void
    {
        $this->monopolyFlag = $monopolyFlag;
    }

    /**
     * 送修代码
     * @param string $repairCode
     */
    public function setRepairCode(string $repairCode): void
    {
        $this->repairCode = $repairCode;
    }

    /**
     * 送修名称
     * @param string $repairName
     */
    public function setRepairName(string $repairName): void
    {
        $this->repairName = $repairName;
    }

    /**
     * 项目代码
     * @param string $projectCode
     */
    public function setProjectCode(string $projectCode): void
    {
        $this->projectCode = $projectCode;
    }

    /**
     * 车商编码/合作网点编码
     * @param string $saleCode
     */
    public function setSaleCode(string $saleCode): void
    {
        $this->saleCode = $saleCode;
    }

    /**
     * 通融标识
     * @param int $accommodationFlag
     */
    public function setAccommodationFlag(int $accommodationFlag): void
    {
        $this->accommodationFlag = $accommodationFlag;
    }

    /**
     * 通融原因
     * @param string $accommodationReason
     */
    public function setAccommodationReason(string $accommodationReason): void
    {
        $this->accommodationReason = $accommodationReason;
    }

    /**
     * 自主定价系数
     * @param string $selfPricingCoef
     */
    public function setSelfPricingCoef(string $selfPricingCoef): void
    {
        $this->selfPricingCoef = $selfPricingCoef;
    }

    /**
     * 自主核保系数
     * @param string $underwritingRate
     */
    public function setUnderwritingRate(string $underwritingRate): void
    {
        $this->underwritingRate = $underwritingRate;
    }

    /**
     * 期望折扣
     * @param float $wantDis
     */
    public function setWantDis(float $wantDis): void
    {
        $this->wantDis = $wantDis;
    }

    /**
     * 贷款车标识
     * @param int $loanCarFlag
     */
    public function setLoanCarFlag(int $loanCarFlag): void
    {
        $this->loanCarFlag = $loanCarFlag;
    }

    /**
     * 贷款机构名称
     * @param string $lendOrg
     */
    public function setLendOrg(string $lendOrg): void
    {
        $this->lendOrg = $lendOrg;
    }
}
